<?php
namespace app\index\controller;
use Aliyun\Core\Config;
use Aliyun\Core\Profile\DefaultProfile;
use Aliyun\Core\DefaultAcsClient;
use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest;
use app\index\model\MessageType;
use think\Controller;

class Send extends Controller
{
    public function sms($mobile,$code,$messageType)
    {
        $quest=$this->sendMsg($mobile,$code,$messageType);
        if($quest['Message']==='OK'&&$quest['Code']==='OK'){
            return ['code'=>1,'msg'=>'发送短信成功！'];
        }
        return ['code'=>0,'msg'=>'发送短信失败！'];
    }
    public function sendMsg($mobile,$code,$mvalue){
        require dirname(dirname(dirname(__DIR__))).'/vendor/api/api_sdk/vendor/autoload.php';
        Config::load();             //加载区域结点配置

        $accessKeyId = "LTAIyj9EYVnoYdqW";//自己替换自己的accessKeyId
        $accessKeySecret = "M3461DiOl3wAck5lG4VXwJI6xxiGFw";//自己替换自己的accessKeySecret
        $templateParam = $code;           //模板变量替换              假如要用验证码的话 需要把你短信模板的验证码参数改正   如  $templateParam = array("code"=>$code);
        $templateCode = $mvalue;   //短信模板ID

        //短信API产品名（短信产品名固定，无需修改）
        $product = "Dysmsapi";
        //短信API产品域名（接口地址固定，无需修改）
        $domain = "dysmsapi.aliyuncs.com";
        //暂时不支持多Region（目前仅支持cn-hangzhou请勿修改）
        $region = "cn-hangzhou";

        // 初始化用户Profile实例
        $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
        // 增加服务结点
        DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain);
        // 初始化AcsClient用于发起请求
        $acsClient= new DefaultAcsClient($profile);

        // 初始化SendSmsRequest实例用于设置发送短信的参数
        $request = new SendSmsRequest();
        // 必填，设置雉短信接收号码
        $request->setPhoneNumbers($mobile);

        // 必填，设置签名名称
        $signName="延长驾校";
        $request->setSignName($signName);

        // 必填，设置模板CODE
        $request->setTemplateCode($templateCode);


        // 可选，设置模板参数
        if($templateParam) {
            $request->setTemplateParam(json_encode($templateParam));
        }

        //发起访问请求
        $acsResponse = $acsClient->getAcsResponse($request);


        //返回请求结果
        $result = json_decode(json_encode($acsResponse),true);
        return $result;
    }

}
